Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour France F19 France F12 Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 France F12 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 France F2 France F3 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Spain F30 Spain F31 France F13 Spain F34 France F15 France F17 Portugal F7 Portugal F8 Spain F39 France F20 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 France F1 Spain F3 France F2 Spain F4 Spain F5 Spain F7 France F4 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F8 France F9 France F10 France F12 Spain F28 Belgium F2 Spain F10 Spain F29 Spain F30 Belgium F3 France F13 Portugal F4 Portugal F5 France F18 France F19 Spain F35 France F20 Spain F37 Spain F3 France F1 Spain F4 France F2 France F4 France F5 Italy F2 Italy F3 Spain F11 France F7 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 France F8 France F10 France F11 France F12 Italy F17 Spain F27 Spain F29 Belgium F2 Spain F31 France F13 Spain F35 France F17 Spain F36 France F18 Spain F14 Great Britain F1 Great Britain F2 France F2 France F4 France F5 France F6 Spain F14 France F1 Spain F15 France F10 Spain F36 Spain F37 Spain F38 France F4 France F5 France F4 Spain F33 Spain F3 Spain F17 Romania F11 France F15 France F20 Rodez M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Angers Romania F10 M15 Las Palmas de Gran Canaria Spain F33 M25 Montauban M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25 Toulouse M25 Vale do Lobo France F14 France F15 M25 Montauban France F19 M25 Toulouse-Balma M25 Vic M25 Roehampton M25 Porto M15 Poitiers M15 Madrid M25 Reus M15 Monastir M25 Monastir M15 Monastir M15 Poitiers M15 Valencia M15 Gijon M25 Monastir M15 Monastir M25 Angers M25+H Rodez M15 Manacor M15 Creteil Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons Open D'Orleans - Orleans Challenger DCNS de Cherbourg - Cherbourg Cherbourg Challenger Orbetello Challenger Tarragona Challenger Rennes Challenger Tallahassee Challenger Bordeaux Challenger Tanger Challenger Leon Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Seville Challenger Rabat Challenger Izmir Challenger Sao Paulo Challenger Courmayeur Challenger Quimper Challenger Cherbourg Challenger Furth Challenger M15 Monastir Pozoblanco Challenger Monza Challenger Tampere Challenger Recanati Challenger San Marino Challenger Marburg Challenger Reggio Emilia Challenger Casablanca Challenger San Sebastian Challenger Recanati Challenger St. Remy Challenger Szczecin Challenger Tampere Challenger Istanbul Challenger Mons Challenger Rennes Challenger Orleans Challenger Helsinki Challenger Kazan Challenger Meknes Challenger Cherbourg Challenger Casablanca Challenger Eckental Challenger Bath Challenger Marrakech Challenger Mersin Challenger Tunis Challenger Milan Challenger Scheveningen Challenger Tampere Challenger Kosice Challenger Sibiu Challenger Cordenons Challenger Segovia Challenger Como Challenger Alphen Challenger St. Remy Challenger Petange Challenger Rennes Challenger Rio De Janeiro Challenger Tunis Challenger Bordeaux Challenger Nottingham Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger St. Remy Challenger Petange Challenger Orleans Challenger Rennes Challenger Cherbourg Challenger Le Gosier Challenger Bordeaux Challenger Orleans Challenger Mons Challenger Rennes Challenger Cherbourg Challenger Quimper Challenger Manerbio Challenger Como Challenger Orleans Challenger Mons Challenger Seoul Challenger Como Challenger Orleans Challenger Cherbourg Challenger Rabat Challenger Wroclaw Challenger Kosice Challenger Trnava Challenger Rome Challenger M15 Bressuire M25 Esch/Alzette Manerbio Challenger Genova Challenger Noumea Challenger Heilbronn Challenger M25 Monastir Bordeaux Challenger Surbiton Challenger Nottingham Challenger Recanati Challenger St. Remy Challenger M25 Villeneuve-Loubet Szczecin Challenger Mouilleron-Le-Captif Challenger Heilbronn Challenger M15 Poitiers Eckental Challenger Vicenza Challenger Recanati Challenger Alicante Challenger Le Gosier Challenger Aix En Provence Challenger Bordeaux Challenger Bordeaux Challenger Poznan Challenger M25 Toulouse-Balma Guangzhou Challenger Rome 1 Challenger Seville Challenger Orleans Challenger Pingguo Challenger Cordenons Challenger M15 Azay-le-Rideau Aix En Provence Challenger M25 Vic Porto Challenger M25 Mataro Braunschweig Challenger Como Challenger Orleans Challenger Quimper Challenger Segovia Challenger M25+H Ajaccio Vicenza Challenger Lyon Challenger Genova Challenger Segovia Challenger M25 Porto Valencia Challenger Eckental Challenger Forli 6 Challenger Rennes Challenger Cherbourg Challenger M25+H Bagneres-de-Bigorre Trnava Challenger Porto Challenger St. Brieuc Challenger Madrid Challenger Bratislava 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Hamburg Challenger Perugia Challenger Rennes Challenger Blois Challenger Karlsruhe Challenger Girona Challenger Ortisei Challenger Pozoblanco Challenger Noumea Challenger Koblenz Challenger Rennes Challenger M15 Monastir Cherbourg Challenger Mouilleron-Le-Captif Challenger Lille Challenger St. Brieuc Challenger Pozoblanco Challenger Cassis Challenger Lyon Challenger Perugia Challenger Bordeaux Challenger Nottingham Challenger Noumea Challenger Prague 3 Challenger St. Brieuc Challenger M15 Lons-le-Saunier Rennes Challenger Lisbon Challenger Recanati Challenger Prostejov Challenger Prague Challenger Portoroz Challenger Pozoblanco Challenger St. Brieuc Challenger Mallorca Challenger Biel Challenger Mouilleron-Le-Captif Challenger Brest Challenger Tenerife Challenger Roanne Challenger Pau Challenger Helsinki Challenger Bari Challenger Cherbourg Challenger Prague 3 Challenger Orleans Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Roanne Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger M15 Monastir Pau Challenger Phoenix Challenger Szekesfehervar Challenger Girona Challenger Madrid Challenger Rome Challenger Aix En Provence Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Bergamo Challenger Calgary Challenger Cherbourg Challenger Pau Challenger Mouilleron-Le-Captif Challenger Barcelona Challenger Cherbourg Challenger Oeiras 5 Challenger Segovia Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Royan Challenger Cassis Challenger Koblenz Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Porto 2 Challenger Antalya 2 Challenger Cherbourg Challenger St. Brieuc Challenger Rennes Challenger Rome Challenger Bordeaux Challenger Cremona Challenger Alicante Challenger Barcelona Challenger Bratislava Challenger Sophia Antipolis Challenger Noumea Challenger Quimper Challenger Bergamo Challenger Estoril Open - Estoril St. Brieuc Challenger Estoril Open - Estoril If Stockholm Open - Stockholm Open 13 - Marseille AEGON Championships - London Mallorca Challenger Noumea Challenger Cherbourg Challenger Mons Challenger San Juan Challenger Nottingham Challenger Open de Moselle - Metz Porto Alegre Challenger Geneva Challenger Montevideo Challenger Bratislava Challenger Meknes Challenger Cherbourg Challeger Orleans Challenger Troyes Challenger Open Sud de France - Montpellier Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Marrakech Challenger Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney Brasil Open - Sao Paulo Power Horse Cup - Dusseldorf AEGON International - Eastbourne Moselle Open - Metz Porto Challenger Quimper Challenger Credit Agricole Suisse Open - Gstaad Open Sud de France - Montpellier St. Brieuc Challenger Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Open Sud de France - Montpellier Rio Open 500 - Rio de Janeiro Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch AEGON Championships - London Credit Agricole Suisse Open - Gstaad Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco China Open - Beijing Barcelona Open BancSabadell - Barcelona Heineken Open - Auckland Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch Erste Bank Open - Vienna Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Abierto Mexicano Telcel - Acapulco SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Geneva Open - Geneva Rakuten Japan Open - Tokyo European Open - Antwerp Millennium Estoril Open - Estoril Gerry Weber Open - Halle St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai European Open - Antwerp Open 13 - Marseille Bratislava Challenger ASB Classic - Auckland Mercedes Cup - Stuttgart Tunis Challenger Tata Open Maharashtra - Pune Austrian Open - Kitzbuhel Generali Open - Kitzbuhel Erste Bank Open - Vienna Moselle Open - Metz Credit Agricole Suisse Open - Gstaad Gerry Weber Open - Halle St. Petersburg Open - St. Petersburg AEGON Championships - London Millennium Estoril Open - Estoril Bet-at-home Open - Hamburg SkiStar Swedish Open - Bastad Mouilleron-Le-Captif Challenger Plava Laguna Croatia Open - Umag Moselle Open - Metz European Open - Antwerp ASB Classic - Auckland Open Sud de France - Montpellier Rio Open - Rio de Janeiro Gerry Weber Open - Halle Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg Grand Prix Hassan II - Marrakech Antalya Cup - Antalya Swiss Open - Gstaad Moselle Open - Metz Turin Challenger ASB Classic - Auckland Lisbon Challenger Geneva Open - Geneva Open Parc - Lyon Libema Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem ASB Classic - Auckland Sardegna Open - Cagliari Koblenz Challenger Melbourne Summer Set - Melbourne Qatar ExxonMobil Open - Doha Serbia Open - Belgrade Mallorca Championships - Mallorca Swiss Open - Gstaad Moselle Open - Metz Barcelona Open BancSabadell - Barcelona ASB Classic - Auckland Rio Open - Rio de Janeiro Estoril Open - Estoril BMW Open - Munich German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Open 13 - Marseille Nottingham 3 Challenger Open de Nice Cote d'Azur - Nice AEGON Championships - London Gerry Weber Open - Halle Mouilleron-Le-Captif Challenger Studena Croatia Open - Umag Seville Challenger Quimper Challenger Grand Prix Hassan II - Casablanca Genova Challenger M25 Carnac Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Dubai Duty Free Tennis Championships - Dubai Rome Challenger Valencia Open - Valencia Open Parc - Lyon Apia International - Sydney Bordeaux Challenger Szczecin Challenger Furth Challenger Open 13 - Marseille Mons Challenger Grand Prix Hassan II - Casablanca Budapest Challenger Power Horse Cup - Dusseldorf Open de Nice Cote d'Azur - Nice Koblenz Challenger Bet-at-home Open - Hamburg Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Aix En Provence Challenger Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Cordoba Open - Cordoba Orleans Challenger Swiss Indoors Basel - Basel Madrid Challenger Dubai Duty Free Tennis Championships - Dubai Braunschweig Challenger Heilbronn Challenger AEGON Championships - London Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Vegeta Croatia Open - Umag M25 Benicarlo Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Cherbourg Challenger Mouilleron-Le-Captif Challenger Rakuten Japan Open - Tokyo Kremlin Cup - Moscow M15 Bressuire Valencia Open - Valencia M15+H Bagnoles de l'Orne ASB Classic - Auckland Open Sud de France - Montpellier Mons Challenger ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Blois Challenger Guadalajara Challenger Open de Nice Cote d'Azur - Nice Tunis Challenger Gonet Geneva Open - Geneva Aegon Nottingham Open - Nottingham Open Sud de France - Montpellier Generali Open - Kitzbuhel Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo Mallorca Challenger Florence Challenger Argentina Open - Buenos Aires Eckental Challenger Bet-at-home Open - Hamburg Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Lille Challenger Konzum Croatia Open - Umag Suisse Open - Gstaad Perugia Challenger Amersfoort Challenger Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Chengdu Open - Chengdu China Open - Beijing Oeiras 3 Challenger Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Open Parc - Lyon Tel Aviv Watergen Open - Tel Aviv Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Generali Open - Kitzbuhel Cordoba Open - Cordoba Argentina Open - Buenos Aires Pozoblanco Challenger Chile Dove Men+Care Open - Santiago Segovia Challenger Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Como Challenger Rennes Challenger Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Lugano Challenger Tunis Challenger Turin Challenger Dubai Duty Free Tennis Championships - Dubai Troisdorf Challenger Vicenza Challenger Perugia Challenger Blois Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart Noventi Open - Halle Nordea Open - Bastad Orleans Challenger Prague 2 Challenger Braga Challenger Hamburg European Open - Hamburg Winston-Salem Open - Winston-Salem Stockholm Open - Stockholm Troyes Challenger Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Bordeaux Challenger Ortisei Challenger Gijon Open - Gijon Ismaning Challenger Roanne Challenger Drummondville Challenger Millennium Estoril Open - Estoril Maia Challenger Brest Challenger Lille Challenger Porto 2 Challenger Roanne Challenger Valencia Open - Valencia Antalya Cup - Antalya Open 13 Provence - Marseille Cordenons Challenger Swiss Indoors Basel - Basel Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Nature Valley International - Eastbourne Millennium Estoril Open - Estoril VTR Open - Vina del Mar Ottignies-Louvain-la-Neuve Challenger Sophia Antipolis Challenger Cherbourg Challenger Lille Challenger Segovia Challenger Cassis Challenger Bratislava Challenger Koblenz Challenger Winston-Salem Open - Winston-Salem BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Estoril Open - Estoril Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Copa Claro - Buenos Aires Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Qatar ExxonMobil Open - Doha ABN AMRO World Tennis Tournament - Rotterdam Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Kremlin Cup - Moscow Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - New York BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid National Bank Open - Montreal Miami Open - Miami French Open - Paris Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai Wimbledon - London Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo U.S. Open - New York Australian Open - Melbourne French Open - Paris Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Mutua Madrid Open - Madrid Wimbledon - London Internazionali BNL d'Italia - Rome U.S. Open - New York St. Petersburg Open - St. Petersburg Australian Open - Melbourne French Open - Paris Wimbledon - London AEGON Championships - London U.S. Open - New York Wimbledon - London Chengdu Open - Chengdu U.S. Open - New York European Open - Antwerp Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Open Sud de France - Montpellier U.S. Open - New York Australian Open - Melbourne French Open - Paris Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel St. Petersburg Open - St. Petersburg Hall of Fame Tennis Championships - Newport Open Sud de France - Montpellier U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Australian Open - Melbourne Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 2R, POR-UKR 4-1 French Open - Paris Davis Cup, World Group, PO, POR-GER 2-3 Wimbledon - London Davis Cup, Group I, 2R, SWE-POR 3-2 French Open - Paris Davis Cup, Group I, 1R, BLR-POR 3-2 All Lower level tournaments Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Internazionali BNL d'Italia - Rome U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris Rogers Cup - Montreal Wimbledon - London U.S. Open - New York Rogers Cup - Toronto Cassis Challenger Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group I, 1R, POR-ISR 5-0 M25 Hazebrouck Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, World Group, PO, POR-CZE 1-3 Olympics - Rio de Janeiro Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, 1R, AUT-POR 1-3 Hopman Cup - Perth Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group I, 1R, POR-AUT 1-4 St. Brieuc Challenger Davis Cup, Group I, PO, UKR-POR 3-1 M25 Mataro Olympics - Tokyo Davis Cup, Group I, PO, POR-RSA 4-0 M25 Toulouse-Balma M25 Villeneuve-Loubet